package _1_初级._2_字符串.反转字符串;

import com.alibaba.fastjson.JSON;

public class _345_反转字符串中的元音字母 {

    /**
     * 编写一个函数，以字符串作为输入，反转该字符串中的元音字母。
     *
     * 示例 1:
     *
     * 输入: "hello"
     * 输出: "holle"
     * 示例 2:
     *
     * 输入: "leetcode"
     * 输出: "leotcede"
     * 说明:
     * 元音字母 a、e、i、o、u、A、E、I、O、U。
     *
     * @param s
     * @return
     */
    public static String reverseVowels(String s) {

        //转字符数组
        char[] charArray = s.toCharArray();
        char temp;

        //左指针寻找原因字母
        //右指针寻找元音字母
        for(int i = 0, j = charArray.length - 1; i < j; i++, j--){
            if(isYuanyin(charArray[i]) && isYuanyin(charArray[j])){
                temp = charArray[i];
                charArray[i] =  charArray[j];
                charArray[j] = temp;
            }
        }

        //交换

        return new String(charArray);
    }

    //判断是否为元音字母
    public static boolean isYuanyin(char c){
        boolean isTrue = false;
        if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U' ){
            isTrue = true;
        }
        return isTrue;
    }

    public static void main(String[] args) {
        String s = "leetcode";
        System.out.println(JSON.toJSONString(reverseVowels(s)));
    }
}
